package main

import (
	"fmt"
	"strings"
)

func main() {
	a := "abcd"
	fmt.Printf("1、a的内存地址为：%p,值为：%v \n\n",&a,a)
	changeStringValue(a)
	fmt.Printf("2、-----changeIntValue函数调用后：值参数a的内存地址：%p,值为：%v \n",&a,a)
	changeStringPtr(&a)
	fmt.Printf("3、-----changeIntValue函数调用后：值参数a的内存地址：%p,值为：%v \n",&a,a)
}

func changeStringValue(a string)  {
	fmt.Printf("-----changeIntValue函数内：值参数a的内存地址：%p,值为：%v \n",&a,a)
	a = strings.ToUpper(a)
}

func changeStringPtr(a *string)  {
	fmt.Printf("-----changeIntPtr函数内：指针参数a的内存地址：%p,值为：%v \n",&a,a)
	*a = strings.ToUpper(*a)
}